package com.example.opengl.main

import com.alibaba.android.arouter.facade.annotation.Route
import com.android.baselibrary.arouter.ArouterContains
import com.android.baselibrary.arouter.jumpActivity
import com.android.baselibrary.base.BaseActivity
import com.android.baselibrary.base.BaseAdapter
import com.android.baselibrary.base.BasePath
import com.android.baselibrary.recycler.linear
import com.example.opengl.R
import com.example.opengl.databinding.ActivityOpenglMainBinding
import com.example.opengl.databinding.ItemOpenglMainBinding

@Route(path = ArouterContains.OPENGL)
class OpenGlMainActivity : BaseActivity<ActivityOpenglMainBinding>() {
    companion object{
        const val VIDEO_PATH = "/storage/emulated/0/Movies/QNShortVideo/trimmed.mp4"
    }
    override fun getLayoutId(): Int = R.layout.activity_opengl_main

    override fun initView() {
        val adapter =  object :BaseAdapter<BasePath,ItemOpenglMainBinding>(){
            override fun getItemLayoutId(): Int =R.layout.item_opengl_main

            override fun covert(binding: ItemOpenglMainBinding, t: BasePath, position: Int) {
              binding.tvOpenGL.text = t.moduleName

            }

        }
       mBinding.recycleOpenGl.linear().adapter = adapter
        adapter.setOnItemClickListener { data, position ->
          jumpActivity(data.path)
        }
        adapter.setData(getList())

    }

    override fun initListener() {

    }


    private fun getList() = mutableListOf<BasePath>(
        BasePath("OpenGL之绘制三角形", OpenGLPath.OPENGL_RENDER_TRIANGLE),
        BasePath("OpenGL之绘制彩色三角形", OpenGLPath.OPENGL_RENDER_COLOR_TRIANGLE),
        BasePath("OpenGL之绘制正方形", OpenGLPath.OPENGL_RENDER_RECTANGLE),
        BasePath("OpenGL之绘制正方体", OpenGLPath.OPENGL_RENDER_CUBE),
        BasePath("OpenGL之绘制圆形", OpenGLPath.OPENGL_RENDER_CIRCLE),
        BasePath("OpenGL之绘制图片贴图", OpenGLPath.OPENGL_RENDER_IMAGE),
        BasePath("OpenGL之绘制立方体贴图", OpenGLPath.OPENGL_RENDER_CUBE_MAP),
        BasePath("OpenGL之绘制三阶魔方", OpenGLPath.OPENGL_RENDER_MAGIC_CUBE),
        BasePath("OpenGL之视频画面渲染", OpenGLPath.OPENGL_RENDER_VIDEO),
        BasePath("OpenGL之EGL-视频画面渲染", OpenGLPath.OPENGL_RENDER_EGL),
        BasePath("OpenGL之自定义播放器", OpenGLPath.OPENGL_CUSTOM_EGL),
        BasePath("OpenGL之FBO-视频离屏渲染", OpenGLPath.OPENGL_RENDER_FBO),
        BasePath("OpenGL之渲染Camera画面", OpenGLPath.OPENGL_PREVIEW_CAMERA),
    )
}

